Convoyeur Modulaire

Formation - TIA - Niv 2 - Lina - 02/2023

2.6 Tableaux de valeurs

Un tableau de valeur est une structure dont les données sont sauvegardées et historisées en BDD LINA.
Ils sont utilisés pour les structures importantes du projet comme : Recette, paramétrage machine, paramétrage production … L’objectif étant de sauvegarder les données importantes dans la BDD LINA, libérant la mémoire automate, pallier à toute mauvaise saisie par un utilisateur et rétablir les données dans l’automate après une réinitialisation.
Pour chaque modification d’une donnée d’un tableau de valeur en cours, manuellement dans LINA ou par l’automate, le tableau est archivé et une nouvelle version est créée puis activée. Les tableaux de valeurs sont ainsi sauvegardés et historisés avec un numéro de version.

Historisation de tableaux

Figure 24 : Historisation de tableaux

Dans le cadre d’un calibrage, il n’est pas nécessaire d’utiliser un tableau de valeur : l’option calibrage de LINA gère la sauvegarde des données.
Les nouveaux enregistrements des tableaux de valeurs ou les demandes de mise à jour par l’automate sont assurés par un mécanisme d’échange, standardisé par une structure que nous allons détailler.

Le format du modèle UDT_ECH_LINA_TB permet la gestion des tableaux de valeur :

Modèle UDT_ECH_LINA_TB

Figure 25 : Modèle UDT_ECH_LINA_TB

2.6.1 Le flux LINA-API

Flux de la demande d’écriture directe :
Pour demander la mise à jour des données dans sa mémoire, l’automate fera une DeManDe d’écriture d’un tableau de valeur. C’est le cas d’un automate réinitialisé :

MNEMO_DMD_ECRITURE

Figure 26 : MNEMO_DMD_ECRITURE

API écrira dans le mnémonique MNEMO_DMD_ECRITURE le code du tableau de valeur associé. Il s’agit d’un numéro identifiant unique qui est défini par l’automatisme.

Une fois traité, LINA écrit dans l’automate les données renseignées dans la version active du tableau de valeur :

MNEMO_NOTIF_FIN_ECRITURE_LINA

Figure 27 : MNEMO_NOTIF_FIN_ECRITURE_LINA

Pour clôturer la demande, LINA écrit :

  1. MNEMO_DMD_ECRITURE à 0 ;
  2. Le code dans MNEMO_NOTIF_FIN_ECRITURE_LINA quand LINA a terminé l’envoi.

L’automate lit les données :

Reset mnemo_notif_fin_écriture_lina

Figure 28 : Reset mnemo_notif_fin_écriture_lina

API termine l’échange avec MNEMO_NOTIF_FIN_ECRITURE_LINA à 0.

Flux de la demande de lecture :
Si l’automate met à jour une donnée d’un tableau de valeur, il fera une DeManDe de lecture à LINA pour la sauvegarde en BDD. C’est le cas d’une modification d’une donnée via une IHM :

MNEMO_DMD_LECTURE

Figure 29 : MNEMO_DMD_LECTURE

API écrira dans le mnémonique MNEMO_DMD_LECTURE le code du tableau de valeur associé. LINA procédera à la lecture de la structure mnémonique et à son enregistrement en BDD avec un numéro de version différent ;

Une fois traité, pour acquitter :

Reset MNEMO_DMD_LECTURE

Figure 30 : Reset MNEMO_DMD_LECTURE

LINA met MNEMO_DMD_ LECTURE à 0.

Flux de la demande de notification :
Si LINA active une nouvelle version d’un tableau de valeur, une notification avec le code du tableau de valeur associé est envoyée à l’automate dans MNEMO_NOTIF_CHGMNT_TB_VAL. Cas d’un changement de paramètre machine ;

MNEMO_NOTIF_CHGMNT_TB_VAL

Figure 31 : MNEMO_NOTIF_CHGMNT_TB_VAL

L’automate fait une demande d’écriture :

MNEMO_DMD_ECRITURE

Figure 32 : MNEMO_DMD_ECRITURE

API écrit :

  1. MNEMO_NOTIF_CHGMNT_TB_VAL à 0 pour signaler à LINA la prise en charge de la demande ;
  2. Le code dans MNEMO_DMD_ECRITURE.

Une fois traité, pour acquitter :

Reset MNEMO_DMD_ECRITURE

Figure 33 : Reset MNEMO_DMD_ECRITURE

LINA écrit :

  1. MNEMO_DMD_ECRITURE à 0 ;
  2. Le code dans MNEMO_NOTIF_FIN_ECRITURE_LINA quand LINA a terminé l’envoi.

L’automate acquitte :

Reset mnemo_notif_fin_écriture_lina

Figure 34 : Reset mnemo_notif_fin_écriture_lina

API termine l’échange avec MNEMO_NOTIF_FIN_ECRITURE_LINA à 0.

2.6.2 Gestion du tableau de valeurs

Accéder à Référentiel > Tableau de valeurs :

Accès Tableau de valeurs

Figure 35 : Accès Tableau de valeurs

Ajouter un tableau de valeur

Figure 36 : Ajouter un tableau de valeur

  1. Clic Nouveau ;
  2. Nom : DB203_PARAM_SEQ_TRANSFERT est le tableau fonction des déclarations automate ;
  3. Modèle de structure : UDT_PARAM_TRANSFERT associe la structure correspondante.

Saisir le code du tableau de valeur unique pour chaque tableau, puis Enregistrer fermer.
Dans notre cas de figure, les codes pour chaque tableau sont répertoriés ci-dessous :

Exemple codes des tableaux

Figure 37 : Exemple codes des tableaux

Attention, il y a un travail à faire avec l’automaticien qui définit le code pour chaque tableau.

Paramétrer le mécanisme d’échange des tableaux de valeurs.
Accéder à Référentiel > Device/Mnémonique > Mnémonique :

Accès Mnémonique

Figure 38 : Accès Mnémonique

Dans Arborescence mnémonique RACINE > API_CONVOYEUR :

Édition de la structure PARAM

Figure 39 : Édition de la structure PARAM

  1. Clic DB203_PARAM_SEQ_TRANSFERT ;
  2. Sélectionner la structure PARAM_203 ;
  3. Clic Editer.

Affecter les 4 champs avec les mnémoniques correspondants à la structure d’échange qui gère le fonctionnement du tableau de valeur GEST_TB_TRANSFERT :

Création et affectation gestion tabval

Figure 40 : Création et affectation gestion tabval

Les mnémoniques ne peuvent être affectés qu’une fois. Il faut donc qu’une structure de gestion soit déclarée, côté automatisme, pour chaque tableau de valeur.
Le tableau ci-dessous résume quels mnémoniques seront affectés à quels tableaux de valeur :

Liste des structures gérant les tabvals

Figure 41 : Liste des structures gérant les tabvals

Importer toutes les structures ci-dessus.

2.6.3 Utilisation du tableau de valeurs

Le tableau de valeur et son fonctionnement maintenant paramétré, vous pouvez maintenant éditer/gérer vos valeurs : accéder à Référentiel > Versions de tableau de valeurs :

Accès Versions tableaux de valeurs

Figure 42 : Accès Versions tableaux de valeurs

Nouvelle version tableau de valeur

Figure 43 : Nouvelle version tableau de valeur

  1. Cliquer sur Nouveau pour créer une nouvelle version du tableau ;
  2. Sélectionner le tableau de valeur précédemment édité DB203_PARAM_SEQ_TRANSFERT ;
  3. Renseigner les valeurs dans le tableau de variable de la fenêtre :
    • VALEUR_POIDS_TASSE_G : 100 ;
    • CONVERSION_POIDS_TASSE_MG : 1000 ;
    • NOMBRE_TASSE : 3 ;
    • TEMPO_ATT_MARCHE_CONV : 2 ;
    • TEMPO_ATT_ARRET_CONV : 2 ;
    • TEMPO_CONV_ARRETE : 2 ;
  4. Valider les modifications avec Enregistrer fermer.

Attention : quand le min et le max sont configurés dans LINA, il faut borner également la donnée dans l’automate.

  • Sélectionner le tableau créé et changer l’état en Activer :
Changement état tableau de valeur

Figure 44 : Changement état tableau de valeur

État des tableaux de valeurs :

  1. Activé en vert : c’est le tableau effectif, en mémoire dans l’automate ;
  2. Édition : c’est une version préparée en attente d’être activée. Pas de numéro de version, n’a jamais été en mémoire dans l’automate ;
  3. Archivé : c’est une version passée qui a été remplacée dans la mémoire automate ;
  4. Annulé : supprime un tableau en état Édition.

Le fonctionnement manuel obéit aux règles suivantes :

  1. Pour activer un tableau, celui-ci doit être en état Édition et n’avoir aucun autre tableau en état Activé ;
  2. Pour désactiver, il faut le passer en état Archivé ;
  3. Un tableau Actif ou Archivé ne peut être supprimé, seul un tableau en Édition peut être supprimé ;
  4. Un tableau Archivé ne peut pas revenir en Activé.

Dans Editer Versions de tableau de valeurs :

Historique des états d'un tabval

Figure 45 : Historique des états d'un tabval

  1. Cocher l’option Afficher les versions archivées et annulées pour voir l’historique des tableaux.
  2. Choisir le tableau DB203_PARAM_SEQ_TRANSFERT ;
  3. Clic Éditer ;
  4. Clic Historique état pour voir les détails des changements d’état.

Exercice : Mettre en service une nouvelle version de tableau pour PARAM_DEF_SEUIL_ANA[0], via l’Hypervision. Comparer avec la solution en annexe.

2.6.4 Import gestion tableau de valeur

Pour faciliter la déclaration des mnémoniques attachées à la structure qui sera affectée à un tableau de valeur, il est possible de réaliser une importation dans LINA de sorte à ne pas devoir redéfinir les mnémoniques à chaque fois :

Mnémoniques gestion TB VAL

Figure 46 : Mnémoniques gestion TB VAL

En exemple, nous allons redéclarer la structure PARAM_DEF_SEUIL_ANA[0] avec les 4 mnémoniques de gestion. Ce travail doit également être poussé à toutes les structures précédemment importées (les structures de PARAM_DEF_SEUIL_ANA[0] à PARAM_DEF_SEUIL_ANA[9] ainsi que les PARAM_SEQ).
Pour la création du fichier au format CSV, il faut déclarer les structures PARAM_DEF_SEUIL_ANA comme dans le chapitre 2.5 Import des mnémoniques en structure, mais en leur rajoutant les 4 colonnes pour les mnémoniques de gestion (Écriture, Lecture, Chgt TB val et Fin écriture).

Format CSV import TB VAL

Figure 47 : Format CSV import TB VAL

Accéder à Référentiel > Importer des déclarations :

Accès Importer des déclarations

Figure 48 : Accès Importer des déclarations

  • Choisir Déclarations et la configuration IMPORT_MEMO ;
  • Ajouter les colonnes des mnémoniques de gestion dans Lina :
    • Mnémo dmde écriture ;
    • Mnémo dmde lecture ;
    • Mnémo notification chgt tableau de valeur ;
    • Mnémo notification fin écriture tableau par LINA ;
Config import gestion TB VAL

Figure 49 : Config import gestion TB VAL

  • Importer les données et valider le remplacement des données existantes :
Bilan de l'import

Figure 50 : Bilan de l'import